<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="../templates/principal.xhtml">

    <ui:define name="head">
        <style type="text/css">
            .coluna1 {  
                text-align: left;  
                white-space: nowrap;
            }  

            .coluna2 {  
                text-align: left;  
            }  

            .coluna3 {  
                text-align: left;  
                white-space: nowrap;
            }  

            .coluna4 {  
                text-align: left;  
            }  

            .ui-datatable .ui-datatable-header {
                text-align:right;
            }

            .actions td {
                border: 0px none !important;
                padding: 2px !important;
            }
        </style>

        <script type="text/javascript">
            function handleClienteRequest(xhr, status, args) {
                if (args.validationFailed || !args.loggedIn) {
                    PF('dialog').show();
                } else {
                    PF('dialog').hide();
                }
            }
        </script>
    </ui:define>

    <ui:define name="content" id="content">
        <h:form id="frmPagar">
            <p:panel id="panel" header="Bem Vindo ao Contas a Pagar">
                <p:growl id="messages" life="5000" />

                <!-- GEID CONTAS A RECEBER -->
                <p:dataTable id="tabPagar" widgetVar="wtabPagar" var="pagar" value="#{contaPagarBean.lazyModel}" 
                             lazy="true" paginator="true" rows="12" paginatorPosition="top" filterEvent="enter"
                             emptyMessage="Nenhum Registro Retornado ..."  style="text-align: left">

                    <p:column headerText="Numero O.S." sortBy="#{pagar.numOs}" filterBy="#{pagar.numOs}">
                        <h:outputText value="#{pagar.numOs}" />
                    </p:column>
                    
                    <p:column headerText="Empresa" sortBy="#{pagar.idEmpresa.nomEmpresa}" filterBy="#{pagar.idEmpresa.nomEmpresa}">
                        <h:outputText value="#{pagar.idEmpresa.nomEmpresa}" />
                    </p:column>
                    
                    <p:column headerText="Descrição" sortBy="#{pagar.dscPagar}" filterBy="#{pagar.dscPagar}">
                        <h:outputText value="#{pagar.dscPagar}" />
                    </p:column>

                    <p:column headerText="Numero" sortBy="#{pagar.numDocumento}" filterBy="#{pagar.numDocumento}">
                        <h:outputText value="#{pagar.numDocumento}" />
                    </p:column>

                    <p:column headerText="Data Emissão" sortBy="#{pagar.datEmissao}" filterBy="#{pagar.datEmissao}" style="text-align: center">
                        <h:outputText value="#{pagar.datEmissao}">
                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                        </h:outputText>
                    </p:column>

                    <p:column headerText="Valor Documento">
                        <div style="text-align: right">
                            <h:outputText value="#{pagar.vlrPagar}">
                                <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                            </h:outputText>
                        </div>
                    </p:column>

                    <p:column style="width: 50px">
                        <h:panelGrid columns="4" styleClass="actions" cellpadding="0">
                            <p:commandButton id="selectButton" update=":frmPagar:tabPrincipal :frmPagar:messages" 
                                             icon="ui-icon-search" title="Visualizar // Alterar Documento" oncomplete="PF('dialog').show();">
                                <f:setPropertyActionListener value="#{pagar}" target="#{contaPagarBean.selectedContaPagar}" />
                                <f:setPropertyActionListener value="#{false}" target="#{contaPagarBean.salvar}" />
                            </p:commandButton>

                            <p:commandButton id="excluirButton" update=":frmPagar:panel :frmPagar:messages"
                                             icon="ui-icon-trash" title="Excluir Documento" oncomplete="PF('confirmation').show()">
                                <f:setPropertyActionListener value="#{pagar}" target="#{contaPagarBean.selectedContaPagar}" />
                            </p:commandButton>
                        </h:panelGrid>
                    </p:column>

                    <f:facet name="footer">
                        <div style="text-align: left;">
                            <p:commandButton id="incluirButton" actionListener="#{contaPagarBean.novoDocumento}" 
                                             update=":frmPagar:tabPrincipal :frmPagar:messages" value="Novo Documento"
                                             icon="ui-icon-pencil" title="Cadastrar Novo Documento" oncomplete="PF('dialog').show();" />
                        </div>
                    </f:facet>
                </p:dataTable>

                <!-- MANUTENÇÃO CONTA A RECEBER -->
                <p:dialog id="detalheDialog" header="Detalhes Conta a Pagar" widgetVar="dialog" resizable="true" dynamic="true" 
                          position="left,top">

                    <p:tabView id="tabPrincipal" activeIndex="0" effect="scale" style="width: 100%; text-align: left;">
                        <p:tab id="PagarTab" title="Dados Principais">
                            <p:panelGrid id="display" style="width: 100%; text-align: left;">
                                <p:row>
                                    <p:column>
                                        <h:outputText value="* Descrição:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inDescricao" value="#{contaPagarBean.selectedContaPagar.dscPagar}" style="width:500px; font-weight:bold;" />
                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Tipo de Documento" 
                                                         onclick="PF('documentoDialog').show()" />
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Data Emissão:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputMask id="imDatEmissao" value="#{contaPagarBean.selectedContaPagar.datEmissao}" mask="99/99/9999" 
                                                     style="font-weight:bold; text-align: left; width: 150px;">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                        </p:inputMask>
                                    </p:column>
                                </p:row>

                                <p:row>
                                    <p:column>
                                        <h:outputText value="* Empresa:" />
                                    </p:column>
                                    <p:column colspan="3">
                                        <p:inputText id="inEmpresa" readonly="true" value="#{contaPagarBean.selectedContaPagar.idEmpresa.nomEmpresa}" style="width:600px; font-weight:bold;" />
                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Empresa" onclick="PF('empresaDialog').show()" />
                                    </p:column>
                                    
                                </p:row>
                                
                                <p:row>
                                    <p:column>
                                        <h:outputText value="* Fornecedor:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inFornecedor" readonly="true" value="#{contaPagarBean.selectedContaPagar.idFornecedor.nomFornecedor}" style="width:500px; font-weight:bold;" />
                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Fornecedor" 
                                                         onclick="PF('fornecedorDialog').show()" />
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="No.Documento/Nota:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inNumero" value="#{contaPagarBean.selectedContaPagar.numDocumento}" style="width:500px; font-weight:bold;" />
                                    </p:column>
                                </p:row>

                                <p:row>
                                    <p:column>
                                        <h:outputText value="* Centro de Controle:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inCusto" readonly="true" value="#{contaPagarBean.selectedContaPagar.idCusto.dscCusto}" style="width:500px; font-weight:bold;" />
                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Centro de Controle" onclick="PF('custoDialog').show()" />
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="No. O.S.:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inOs" value="#{contaPagarBean.selectedContaPagar.numOs}" style="width:500px; font-weight:bold;" />
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="* 1o.Vencimento:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputMask id="imDatVenc" value="#{contaPagarBean.dataVenc}" mask="99/99/9999" 
                                                     style="font-weight:bold; text-align: left; width: 150px;">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                        </p:inputMask>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="* Valor:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inValor" value="#{contaPagarBean.selectedContaPagar.vlrPagar}" 
                                                     onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                                     style="font-weight:bold; text-align: right; width: 200px;">
                                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                        </p:inputText>
                                    </p:column>
                                </p:row>

                                <p:row>
                                    <p:column>
                                        <h:outputText value="Desconto:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inDesconto" value="#{contaPagarBean.selectedContaPagar.vlrDesconto}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                                     style="font-weight:bold; text-align: right; width: 200px;">
                                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                        </p:inputText>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="% Multa:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inMulta" value="#{contaPagarBean.selectedContaPagar.vlrMulta}" onkeyup="javascript:maskIt(this, event, '###,##', true)"
                                                     style="font-weight:bold; text-align: right; width: 100px;" title="Exemplo: 100,00 = 100%">
                                            <f:convertNumber locale="pt_BR" pattern="##0.00" minFractionDigits="2" />
                                        </p:inputText>
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="% Juros:" />
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="inJuros" value="#{contaPagarBean.selectedContaPagar.perJuros}" onkeyup="javascript:maskIt(this, event, '###,##', true)"
                                                     style="font-weight:bold; text-align: right; width: 100px;" title="Exemplo: 100,00 = 100%">
                                            <f:convertNumber locale="pt_BR" pattern="##0.00" minFractionDigits="2" />
                                        </p:inputText>
                                    </p:column>
                                    <p:column colspan="2">
                                        <h:selectOneRadio id="slTipJuros" value="#{contaPagarBean.selectedContaPagar.tipJuros}" layout="lineDirection">  
                                            <f:selectItem itemLabel="Ao Dia" itemValue="D" />
                                            <f:selectItem itemLabel="Ao Mês" itemValue="M" />  
                                        </h:selectOneRadio> 
                                    </p:column>
                                </p:row>
                            </p:panelGrid>

                            <h:panelGrid columns="3">
                                <h:outputLabel for="inNumParcela" value="No.Parcelas:" />
                                <p:spinner stepFactor="1"
                                           min="1"
                                           required="true"
                                           requiredMessage="Campo [Numero de Parcelas] Obrigatório!"
                                           value="#{contaPagarBean.numParcela}"
                                           id="inNumParcela" />

                                <p:commandButton icon="ui-icon ui-icon-search" value="Gerar / Atualizar Parcelas"
                                                 actionListener="#{contaPagarBean.recalculaParcela}" 
                                                 update="tabParcela :frmPagar:messages" />
                            </h:panelGrid>

                            <p:panel id="panelParcelas" header="Parcelas">
                                <p:dataTable id="tabParcela" var="parcela" value="#{contaPagarBean.selectedContaPagar.contaPagarParcelaList}" filterEvent="enter" 
                                             widgetVar="tabParcela" rowIndexVar="rowIndex" emptyMessage="Nenhuma Parcela Incluida"
                                             paginator="true" rows="3" style="text-align: left;">

                                    <p:column headerText="No." sortBy="#{parcela.numParcela}">
                                        <h:outputText value="#{parcela.numParcela}" />
                                    </p:column>

                                    <p:column headerText="Descrição">
                                        <h:outputText value="#{parcela.dscParcela}" />
                                    </p:column>

                                    <p:column headerText="Data Vencimento" style="text-align: center">
                                        <h:outputText value="#{parcela.datVcto}">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Valor Parcela" style="text-align: right">
                                        <h:outputText value="#{parcela.vlrParcela}">
                                            <f:convertNumber locale="pt_BR" pattern="#,##0.00" minFractionDigits="2" />
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Valor Desconto" style="text-align: right">
                                        <h:outputText value="#{parcela.vlrDescontoParcela}">
                                            <f:convertNumber locale="pt_BR" pattern="#,##0.00" minFractionDigits="2" />
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Valor Juros" style="text-align: right">
                                        <h:outputText value="#{parcela.vlrJuros}">
                                            <f:convertNumber locale="pt_BR" pattern="#,##0.00" minFractionDigits="2" />
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Valor Multa" style="text-align: right">
                                        <h:outputText value="#{parcela.vlrMultaParcela}">
                                            <f:convertNumber locale="pt_BR" pattern="#,##0.00" minFractionDigits="2" />
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Data Pagto." style="text-align: center">
                                        <h:outputText value="#{parcela.datPagto}">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Valor Pago" style="text-align: right">
                                        <h:outputText value="#{parcela.vlrPago}">
                                            <f:convertNumber locale="pt_BR" pattern="#,##0.00" minFractionDigits="2" />
                                        </h:outputText>
                                    </p:column>

                                    <p:column headerText="Status">
                                        <h:outputText value="#{parcela.dscStatus}" />
                                    </p:column>

                                    <p:column style="width:50px">
                                        <h:panelGrid columns="1" styleClass="actions" cellpadding="2">
                                            <p:commandButton update=":frmPagar:displayParcela" oncomplete="PF('parcelaDialog').show()" 
                                                             icon="ui-icon ui-icon-search" title="Editar Parcela">
                                                <f:setPropertyActionListener value="#{parcela}" target="#{contaPagarBean.selectContaPagarParcela}" />
                                                <f:setPropertyActionListener value="#{rowIndex}" target="#{contaPagarBean.rowid}" />
                                            </p:commandButton>
                                        </h:panelGrid>
                                    </p:column>
                                </p:dataTable>
                            </p:panel>
                        </p:tab>
                        <p:tab id="ObsTab" title="Observações">
                            <p:inputTextarea id="inObs" rows="15" value="#{contaPagarBean.selectedContaPagar.dscObs}" style="width:800px; font-weight:bold;" />  
                        </p:tab>
                    </p:tabView>
                    <div style="text-align: left;">
                        <p:commandButton value="Salvar" update=":frmPagar:panel :frmPagar:messages" rendered="#{contaPagarBean.salvar}"
                                         actionListener="#{contaPagarBean.inserirPagar}" oncomplete="handleFormRequest(xhr, status, args)" />
                        <p:commandButton value="Salvar" update=":frmPagar:panel :frmPagar:messages" rendered="#{!contaPagarBean.salvar}"
                                         actionListener="#{contaPagarBean.alterarPagar}" oncomplete="handleFormRequest(xhr, status, args)" />
                    </div>
                </p:dialog>

                <!-- DETALHES DAS PARCELAS -->
                <p:dialog id="parcelaDialog" header="Detalhe da Parcela" widgetVar="parcelaDialog" resizable="true"
                          width="1100" showEffect="explode" hideEffect="explode" position="right">

                    <h:panelGrid id="displayParcela" columns="4" style="text-align: left;">
                        <h:outputText value="Status:" />
                        <p:inputText readonly="true" value="#{contaPagarBean.selectContaPagarParcela.dscStatus}" style="width:100px; font-weight:bold;" />
                        <h:outputText value="No.Parcela:" />
                        <p:inputText id="inParcela" readonly="true" value="#{contaPagarBean.selectContaPagarParcela.numParcela}" style="width:50px; font-weight:bold;" />

                        <h:outputText value="Descrição:" />
                        <p:inputText id="inDescParcela" value="#{contaPagarBean.selectContaPagarParcela.dscParcela}" style="width:300px; font-weight:bold;" />
                        <h:outputText value="" />
                        <h:outputText value="" />

                        <h:outputText value="Data Vencimento:" />
                        <p:inputMask id="imDatVencParc" value="#{contaPagarBean.selectContaPagarParcela.datVcto}" mask="99/99/9999" 
                                     style="font-weight:bold; text-align: left; width: 150px;">
                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                        </p:inputMask>
                        <h:outputText value="Data Pagamento:" />
                        <p:inputMask id="imDatPagParc" value="#{contaPagarBean.selectContaPagarParcela.datPagto}" mask="99/99/9999" 
                                     style="font-weight:bold; text-align: left; width: 150px;">
                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                        </p:inputMask>

                        <h:outputText value="Valor Parcela:" />
                        <p:inputText id="inValorParc" value="#{contaPagarBean.selectContaPagarParcela.vlrParcela}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                     style="font-weight:bold; text-align: right; width: 200px;">
                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                        </p:inputText>
                        <h:outputText value="Valor Desconto:" />
                        <p:inputText id="inValorDescParc" value="#{contaPagarBean.selectContaPagarParcela.vlrDescontoParcela}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                     style="font-weight:bold; text-align: right; width: 200px;">
                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                        </p:inputText>

                        <h:outputText value="Valor Multa:" />
                        <p:inputText id="inValorMultaParc" value="#{contaPagarBean.selectContaPagarParcela.vlrMultaParcela}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                     style="font-weight:bold; text-align: right; width: 200px;">
                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                        </p:inputText>
                        <h:outputText value="Valor Juros:" />
                        <p:inputText id="inValorJurosParc" value="#{contaPagarBean.selectContaPagarParcela.vlrJuros}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                     style="font-weight:bold; text-align: right; width: 200px;">
                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                        </p:inputText>

                        <h:outputText value="Valor Pago:" />
                        <p:inputText id="inValorReceb" value="#{contaPagarBean.selectContaPagarParcela.vlrPago}" onkeyup="javascript:maskIt(this, event, '###.###.###,##', true)"
                                     style="font-weight:bold; text-align: right; width: 200px;">
                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                        </p:inputText>
                        <h:outputText value="* Tipo Baixa:" />
                        <h:panelGrid columns="2">
                            <p:inputText id="inDescBaixa" readonly="true" value="#{contaPagarBean.selectContaPagarParcela.idBaixa.dscBaixa}" style="width:300px; font-weight:bold;" />
                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Tipo de Baixa" onclick="PF('baixaDialog').show()" />
                        </h:panelGrid>

                        <h:outputText value="* Forma Pagamento:" />
                        <h:panelGrid columns="2">
                            <p:inputText id="inDescPagamento" readonly="true" value="#{contaPagarBean.selectContaPagarParcela.idPagamento.dscPagamento}" style="width:300px; font-weight:bold;" />
                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Tipo de Pagamento" onclick="PF('pagamentoDialog').show()" />
                        </h:panelGrid>

                        <f:facet name="footer">
                            <p:commandButton icon="ui-icon ui-icon-disk" value="Gravar" title="Grava Alterações da Parcela" 
                                             actionListener="#{contaPagarBean.gravarParcela}" 
                                             update=":frmPagar:tabPrincipal :frmPagar:messages" oncomplete="PF('parcelaDialog').hide()" />
                            <p:commandButton icon="ui-icon ui-icon-document" value="Baixar c/ Calculo" title="Calcula e Baixa a Parcela" 
                                             actionListener="#{contaPagarBean.baixarParcela}"
                                             update=":frmPagar:panel :frmPagar:messages" oncomplete="PF('parcelaDialog').hide()" />
                            <p:commandButton icon="ui-icon ui-icon-document" value="Baixar Documento" title="Baixa a Parcela" 
                                             actionListener="#{contaPagarBean.baixarManualParcela}" 
                                             update=":frmPagar:panel :frmPagar:messages" oncomplete="PF('parcelaDialog').hide()" />
                        </f:facet>

                    </h:panelGrid>
                </p:dialog>

                <!-- CONFIRMA EXCLUSAO -->
                <p:dialog header="Confirma a Exclusão desse Documento?" widgetVar="confirmation">

                    <p:commandButton value="Sim" update=":frmPagar:panel :frmPagar:messages" oncomplete="PF('confirmation').hide(),PF('dialog').hide()"
                                     actionListener="#{contaPagarBean.excluirPagar}" />
                    <p:commandButton value="Não" onclick="PF('confirmation').hide()" type="button" />

                </p:dialog>

                <!-- PESQUISA TIPO DE DOCUMENTO -->
                <p:dialog id="Dialogdocumento" header="Pesquisa Tipo de Documento" widgetVar="documentoDialog" resizable="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right">

                    <p:dataTable id="tabTipoDocumento" widgetVar="wtabTipoDocumento" var="tipoDocumento" value="#{tipoDocumentoBean.lazyModel}" filterEvent="enter" 
                                 paginator="true" rows="5" lazy="true" emptyMessage="Nenhuma Tipo de Documento retornado ..." style="text-align: left;">

                        <f:facet name="header">
                            <div style="text-align: center;">
                                Pesquise e selecione Tipo de Documento
                            </div>
                        </f:facet>

                        <p:column headerText="Descrição" sortBy="#{tipoDocumento.dscDocumento}" filterBy="#{tipoDocumento.dscDocumento}">
                            <h:outputText value="#{tipoDocumento.dscDocumento}" />
                        </p:column>

                        <p:column style="width: 50px">
                            <p:panelGrid styleClass="actions" columns="1">
                                <p:commandButton id="selectButtonDocumento" update=":frmPagar:tabPrincipal :frmPagar:messages" 
                                                 icon="ui-icon-check" title="Selecionar Tipo de Documento" oncomplete="PF('documentoDialog').hide()">
                                    <f:setPropertyActionListener value="#{tipoDocumento.dscDocumento}" target="#{contaPagarBean.selectedContaPagar.dscPagar}" />
                                </p:commandButton>
                            </p:panelGrid>
                        </p:column>
                    </p:dataTable>

                </p:dialog>

                <!-- PESQUISA Fornecedor -->
                <p:dialog id="Dialogfornecedor" header="Pesquisa Fornecedor" widgetVar="fornecedorDialog" resizable="true"
                          width="1000" showEffect="explode" hideEffect="explode" position="right">

                    <p:dataTable id="tabFornecedor" widgetVar="wtabFornecedor" var="fornecedor" value="#{fornecedorBean.lazyModel}" filterEvent="enter" 
                                 paginator="true" rows="5" lazy="true" emptyMessage="Nenhuma Fornecedor retornado ..." style="text-align: left;">

                        <f:facet name="header">
                            <div style="text-align: center;">
                                Pesquise e selecione Fornecedor
                            </div>
                        </f:facet>

                        <p:column headerText="Razão Social / Nome" sortBy="#{fornecedor.nomFornecedor}" filterBy="#{fornecedor.nomFornecedor}">
                            <h:outputText value="#{fornecedor.nomFornecedor}" />
                        </p:column>

                        <p:column headerText="C.N.P.J. / C.P.F." sortBy="#{fornecedor.numCpf}" filterBy="#{fornecedor.numCpf}" style="text-align: center;">
                            <h:outputText value="#{fornecedor.numCpf}" />
                        </p:column>

                        <p:column headerText="Tipo" sortBy="#{fornecedor.tipFornecedor}" filterBy="#{fornecedor.tipFornecedor}"  
                                  filterOptions="#{fornecedorBean.tipFornecedorOptions}" filterMatchMode="exact">
                            <h:outputText value="#{fornecedor.dscTipo}" />
                        </p:column>

                        <p:column headerText="Categoria" sortBy="#{fornecedor.idCategoria.dscCategoria}" filterBy="#{fornecedor.idCategoria.dscCategoria}">
                            <h:outputText value="#{fornecedor.idCategoria.dscCategoria}" style="text-align: right" />
                        </p:column>

                        <p:column style="width: 50px">
                            <p:panelGrid styleClass="actions" columns="1">
                                <p:commandButton id="selectButtonFornecedor" update=":frmPagar:tabPrincipal :frmPagar:messages" 
                                                 icon="ui-icon-check" title="Selecionar Fornecedor" oncomplete="PF('fornecedorDialog').hide()">
                                    <f:setPropertyActionListener value="#{fornecedor}" target="#{contaPagarBean.selectedContaPagar.idFornecedor}" />
                                </p:commandButton>
                            </p:panelGrid>
                        </p:column>
                    </p:dataTable>
                </p:dialog>

                <!-- PESQUISA CENTRO DE CONTROLE -->
                <p:dialog id="Dialogcusto" header="Pesquisa Centro de Controle" widgetVar="custoDialog" resizable="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right">

                    <p:dataTable id="tabCentroCusto" widgetVar="wtabCentroCusto" var="centrocusto" value="#{centroCustoBean.lazyModel}" filterEvent="enter" 
                                 paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Centro de Controle retornado ..." style="text-align: center;">

                        <f:facet name="header">
                            <div style="text-align: center;">
                                Pesquise e selecione Centro de Controle
                            </div>
                        </f:facet>

                        <p:column style="text-align: left;" headerText="Centro de Controle" sortBy="#{centrocusto.dscCusto}" filterBy="#{centrocusto.dscCusto}" >
                            <h:outputText value="#{centrocusto.dscCusto}" />
                        </p:column>

                        <p:column style="text-align: center;" headerText="Ativo">
                            <h:selectBooleanCheckbox value="#{centrocusto.tipStatus}" />
                        </p:column>

                        <p:column style="text-align: center; width: 50px">
                            <p:panelGrid styleClass="actions" columns="1">
                                <p:commandButton id="selectButtonCusto" update=":frmPagar:tabPrincipal :frmPagar:messages" 
                                                 icon="ui-icon-check" title="Selecionar Centro de Controle" oncomplete="PF('custoDialog').hide()">
                                    <f:setPropertyActionListener value="#{centrocusto}" target="#{contaPagarBean.selectedContaPagar.idCusto}" />
                                </p:commandButton>
                            </p:panelGrid>
                        </p:column>
                    </p:dataTable>

                </p:dialog>

                <!-- PESQUISA TIPO DE BAIXA -->
                <p:dialog id="Dialogbaixa" header="Pesquisa Tipo de Baixa" widgetVar="baixaDialog" resizable="true"
                          showEffect="explode" hideEffect="explode" position="right" width="600">

                    <p:dataTable id="tabTipoBaixa" widgetVar="wtabTipoBaixa" var="TipoBaixa" value="#{tipoBaixaBean.lazyModel}" filterEvent="enter" 
                                 paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Tipo de Baixa retornado ..." style="text-align: left;">

                        <f:facet name="header">
                            <div style="text-align: center;">
                                Pesquise e selecione Tipo de Baixa
                            </div>
                        </f:facet>

                        <p:column headerText="Descrição" sortBy="#{TipoBaixa.dscBaixa}" filterBy="#{TipoBaixa.dscBaixa}">
                            <h:outputText value="#{TipoBaixa.dscBaixa}" />
                        </p:column>

                        <p:column style="width: 50px">
                            <p:panelGrid styleClass="actions" columns="1">
                                <p:commandButton id="selectButtonBaixa" update=":frmPagar:displayParcela :frmPagar:messages" 
                                                 icon="ui-icon-check" title="Selecionar Tipo de Baixa" oncomplete="PF('baixaDialog').hide()">
                                    <f:setPropertyActionListener value="#{TipoBaixa}" target="#{contaPagarBean.selectContaPagarParcela.idBaixa}" />
                                </p:commandButton>
                            </p:panelGrid>
                        </p:column>
                    </p:dataTable>
                </p:dialog>

                <!-- PESQUISA TIPO DE PAGAMENTO -->
                <p:dialog id="Dialogpagamento" header="Pesquisa Tipo de Pagamento" widgetVar="pagamentoDialog" resizable="true"
                          showEffect="explode" hideEffect="explode" position="right" width="600">

                    <p:dataTable id="tabformaPagamento" widgetVar="wtabformaPagamento" var="formaPagamento" value="#{formaPagamentoBean.lazyModel}" filterEvent="enter" 
                                 paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Tipo de Pagamento retornado ..." style="text-align: left;">

                        <f:facet name="header">
                            <div style="text-align: center;">
                                Pesquise e selecione Tipo de Pagamento
                            </div>
                        </f:facet>

                        <p:column headerText="Descrição" sortBy="#{formaPagamento.dscPagamento}" filterBy="#{formaPagamento.dscPagamento}">
                            <h:outputText value="#{formaPagamento.dscPagamento}" />
                        </p:column>

                        <p:column style="width: 50px">
                            <p:panelGrid styleClass="actions" columns="1">
                                <p:commandButton id="selectButtonPagamento" update=":frmPagar:displayParcela :frmPagar:messages" 
                                                 icon="ui-icon-check" title="Selecionar Tipo de Pagamento" oncomplete="PF('pagamentoDialog').hide()">
                                    <f:setPropertyActionListener value="#{formaPagamento}" target="#{contaPagarBean.selectContaPagarParcela.idPagamento}" />
                                </p:commandButton>
                            </p:panelGrid>
                        </p:column>
                    </p:dataTable>
                </p:dialog>

                <!-- PESQUISA EMPRESA -->
                <p:dialog id="dialogEmpresa" header="Pesquisa Empresa" widgetVar="empresaDialog" resizable="true"
                          width="1000" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelEmpresa" style="text-align: left">
                        <p:dataTable id="tabEmpresa" widgetVar="wtabEmpresa" var="empresa" value="#{empresaBean.lazyModel}" paginator="true" rows="12" lazy="true"
                                     emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                            <f:facet name="header">
                                Pesquise e selecione uma Empresa
                            </f:facet>

                            <p:column headerText="Nome Empresa">
                                <h:outputText value="#{empresa.nomEmpresa}" />
                            </p:column>

                            <p:column style="width: 50px">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonEmpresa" 
                                                     update=":frmPagar:tabPrincipal :frmPagar:messages" 
                                                     icon="ui-icon-check" title="Selecionar Empresa" oncomplete="PF('empresaDialog').hide()">
                                        <f:setPropertyActionListener value="#{empresa}" target="#{contaPagarBean.selectedContaPagar.idEmpresa}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                
                
                
            </p:panel>
            <h:inputHidden id="idModulo" value="38" />
        </h:form>
    </ui:define>
</ui:composition>
